Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Karlsruhe Challenger San Benedetto Challenger Tampere Challenger Wimbledon - London M25 Edmonton Luedenscheid Challenger Genova Challenger Como Challenger U.S. Open - New York M15 Monastir Calgary Challenger Charleston Challenger Brest Challenger Tiburon Challenger Alicante Challenger Charlottesville Challenger M25 Monastir Malaga Challenger Fairfield Challenger Olbia Challenger M25 Saint-Augustin Drummondville Challenger M25 Hammamet Naples Challenger Hong Kong Tennis Open - Hong Kong Noumea Challenger Nonthaburi 3 Challenger Australian Open - Melbourne Tenerife 1 Challenger Manama Challenger Miami Open - Miami Pau Challenger Quimper Challenger Ottignies-Louvain-la-Neuve Challenger Cherbourg Challenger Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai M25 Hammamet BNP Paribas Open - Indian Wells M25 Kursumlijska Banja Lille Challenger Phoenix Challenger Madrid Challenger Trieste Challenger M25 Angers US Men's Clay Court Championship - Houston Vicenza Challenger Grand Prix Hassan II - Marrakech French Open - Paris Zagreb Challenger Tunis Challenger Tampere Challenger Modena Challenger Grodzisk Mazowiecki Challenger Wimbledon - London Infosys Hall of Fame Open - Newport Hamburg Open - Hamburg M25 Padova Porto Challenger Zug Challenger Como Challenger M25 Guiyang Manacor Challenger M25 Fuzhou Rennes Challenger Istanbul Challenger Shanghai Rolex Masters - Shanghai Seoul Challenger Taipei 2 Challenger Calgary Challenger Villena Challenger M25 Edmonton Olbia Challenger Valencia Challenger M25 Monastir Matsuyama Challenger M25 Monastir Drummondville Challenger Lille Challenger M25 Les Franqueses del Valles Thionville Challenger Mexico City Challenger Quimper Challenger Zug Challenger Iasi Challenger Aix En Provence Challenger Royan Challenger Abidjan 2 Challenger M25 Doha Abidjan 1 Challenger Manzanillo Challenger Manama Challenger Puerto Vallarta Challenger Open Occitanie - Montpellier Hong Kong Tennis Open - Hong Kong Noumea Challenger Nonthaburi 2 Challenger Australian Open - Melbourne Dubai Duty Free Tennis Championships - Dubai M25 Monastir Troyes Challenger M25 Santo Domingo Tyler Challenger Francavilla Challenger Tunis Challenger Cuernavaca Challenger Banja Luka Challenger Little Rock Challenger French Open - Paris M25 Monastir Wimbledon - London M15 Monastir Segovia Challenger Cassis Challenger Rennes Challenger Orleans Challenger Portugal F3 France F8 France F10 France F11 France F15 France F17 France F19 Portugal F2 Spain F7 Spain F8 France F6 Great Britain F7 Portugal F1 Great Britain F8 Italy F17 Netherlands F2 Netherlands F3 France F10 France F11 Great Britain F10 Italy F24 Luxembourg F1 France F13 Sweden F1 Sweden F2 Portugal F7 Portugal F8 France F1 France F2 France F5 France F6 France F7 Great Britain F7 Slovenia F3 France F8 France F9 Great Britain F8 France F12 Austria F7 Italy F27 Portugal F4 Portugal F5 France F17 Germany F18 France F20 Usa F1 Usa F2 Usa F3 Portugal F1 Portugal F2 France F7 Spain F14 France F12 Tunisia F6 Morocco F5 France F2 Morocco F2 Tunisia F16 Tunisia F17 Tunisia F20 Tunisia F21 Tunisia F22 Tunisia F23 Tunisia F24 Tunisia F25 Tunisia F26 Tunisia F27 Tunisia F28 Morocco F2 Morocco F3 Tunisia F30 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F20 Tunisia F21 Mozambique F1 Mozambique F2 Egypt F13 Egypt F14 Egypt F16 Morocco F4 Morocco F5 Morocco F6 USA F32 USA F35 USA F40 Tunisia F21 (Hammamet) Tunisia F22 (Hammamet) Tunisia F4 Tunisia F23 (Hammamet) Tunisia F24 (Hammamet) USA F24 (Champaign) USA F26 (Decatur) USA F27 (Edwardsville) Belgium F9 (Koksijde) Belgium F10 (Lambermont) Tunisia F25 (Hammamet) Tunisia F26 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Tunisia F33 (Hammamet) Tunisia F38 (Hammamet) Tunisia F39 (Hammamet) Tunisia F40 (Hammamet) Tunisia F5 (Jerba) USA F10 (Little Rock) Tunisia F20 (Jerba) Tunisia F22 (Hammamet) Tunisia F23 (Hammamet) Tunisia F24 (Hammamet) USA F19 (Wichita) USA F19b (Iowa City) USA F20 (Champaign) USA F21 (Decatur) USA F22 (Edwardsville) Romania F10 (Curtea de Arges) Tunisia F29 (La Marsa) Tunisia F37 (Monastir) Tunisia F38 (Monastir) Tunisia F39 (Monastir) Egypt F28 (Sharm El Sheikh) Cameroon F1 (Yaounde) Cameroon F2 (Yaounde) Tunisia F44 (Monastir) Tunisia F45 (Monastir) M25 Los Angeles M25 Tucson M15 Tabarka M15 Tabarka M15 Tabarka M15 Tabarka M15 Tabarka M15 Tabarka M25 Pardubice M25 Iowa City M25 Champaign M15 Tabarka M25+H Bydgoszcz M25 La Marsa M15 Tabarka M15 Tabarka M25+H Lagos M25+H Lagos M25 Monastir M15 Meshref M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Sintra M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M25 Klosters M25 Wroclaw M15 Monastir M15 Monastir M15 Monastir M15 Monastir M25 Monastir M25 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M25 Monastir M15 Oran M15 Oran M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M25 Saint-Augustin M25 Monastir M25 Monastir M25 Monastir M25 Monastir Challenger 42 - Andrezieux Open Prevadies St. Brieuc Cotes D'Amor - St. Brieuc Trofeo Cassa di Risparmio di Alessandria - Alessandria Noumea Challenger Besancon Challenger Cherbourg Challenger Rabat Challenger Monza Challenger Cordenons Challenger Orleans Challenger Jersey Challenger Salzburg Challenger St. Brieuc Challenger San Remo Challenger Bordeaux Challenger Marburg Challenger Arad Challenger San Benedetto Challenger Cordenons Challenger Trani Challenger San Sebastian Challenger Todi Challenger Trnava Challenger Napoli Challenger Tarragona Challenger Rennes Challenger Noumea Challenger Helsinki Challenger Courmayeur Challenger Casablanca Challenger Cherbourg Challenger Rabat Challenger Caltanissetta Challenger St. Brieuc Challenger Ostrava Challenger Rome Challenger Bordeaux Challenger Braunschweig Challenger San Benedetto Challenger Orbetello Challenger Tampere Challenger San Marino Challenger San Sebastian Challenger Como Challenger Brasov Challenger Todi Challenger Napoli Challenger Palermo Challenger Orleans Challenger Salzburg Challenger Le Gosier Challenger Bordeaux Challenger Le Gosier Challenger Orleans Challenger Casablanca Challenger Genova Challenger Bergamo Challenger Cherbourg Challenger Quimper Challenger Le Gosier Challenger Milan Challenger San Benedetto Challenger Brest Challenger Mouilleron-Le-Captif Challenger Mouilleron-Le-Captif Challenger Sophia Antipolis Challenger Mouilleron-Le-Captif Challenger Tallahassee Challenger Winnetka Challenger Mouilleron-Le-Captif Challenger Rennes Challenger Marbella Challenger Sophia Antipolis Challenger Tunis Challenger Winnetka Challenger Pune Challenger Morelos Challenger Calgary Challenger Todi Challenger Forli Challenger Orlando Challenger Sao Paulo Challenger Campinas Challenger Salinas Challenger Salinas 2 Challenger Biella 7 Challenger Bratislava Challenger Aix En Provence Challenger Braunschweig Challenger Iasi Challenger Pozoblanco Challenger Barletta Challenger Kyiv Challenger Brest Challenger Tenerife Challenger Roanne Challenger Antalya 3 Challenger Maia 1 Challenger Pau Challenger Phoenix Challenger Salinas Challenger San Luis Potosi Challenger Aguascalientes Challenger Morelos Challenger Milan Challenger Chicago Challenger Vancouver Challenger Granby Challenger Rennes Challenger Braga Challenger Lisbon Challenger Orleans Challenger Brest Challenger Charlottesville Challenger Calgary Challenger Matsuyama Challenger Drummondville Challenger Noumea Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 1 Challenger Quimper Challenger Tenerife 2 Challenger Monterrey Challenger Rome Challenger Waco Challenger Puerto Vallarta Challenger Phoenix Challenger Biel Challenger Lille Challenger Barletta Challenger San Luis Potosi Challenger Morelos Challenger Savannah Challenger Leon Challenger Aix En Provence Challenger Francavilla Challenger Bordeaux Challenger Tunis Challenger Skopje Challenger Little Rock Challenger Tyler Challenger Lyon Challenger Bad Waltersdorf Challenger Maia Challenger Open 13 - Marseille Grand Prix de Tennis de Lyon - Lyon Heineken Open - Auckland Open 13 - Marseille Gerry Weber Open - Halle If Stockholm Open - Stockholm Open Sud de France - Montpellier Open de Tenis Comunidad Valenciana - Valencia Heineken Open - Auckland ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Open Sabadell Atlantico - Barcelona Open de Nice Cote d'Azur - Nice AEGON Championships - London Mercedes Cup - Stuttgart Open de Moselle - Metz Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice UNICEF Open - 's Hertogenbosch Mercedes Cup - Stuttgart Credit Agricole Suisse Open - Gstaad Farmers Classic - Los Angeles Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras AEGON Championships - London Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Valencia Open - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON Championships - London Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Citi Open - Washington Winston-Salem Open - Winston-Salem Open Sud de France - Montpellier Open 13 - Marseille Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Topshelf Open - 's-Hertogenbosch Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Valencia Open - Valencia St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON Championships - London Bet-at-home Open - Hamburg Citi Open - Washington Moselle Open - Metz Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Gerry Weber Open - Halle Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Maharashtra Open - Pune Sydney International - Sydney Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Mercedes Cup - Stuttgart Gerry Weber Open - Halle Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Open Parc - Lyon Noventi Open - Halle Turkish Airlines Open Antalya - Antalya German Tennis Championships - Hamburg Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel ASB Classic - Auckland Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai bett1HULKS Indoors - Cologne Astana Open - Nur-Sultan Hamburg European Open - Hamburg Delray Beach Open - Delray Beach Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Gonet Geneva Open - Geneva Hamburg European Open - Hamburg Swiss Open - Gstaad Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Sofia Open - Sofia European Open - Antwerp Emilia-Romagna Open - Parma Astana Open - Nur-Sultan Melbourne Summer Set - Melbourne Adelaide International 2 - Adelaide Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Swiss Open - Gstaad Truist Atlanta Open - Atlanta Citi Open - Washington Abierto de Tenis Mifel - Los Cabos Sofia Open - Sofia Rakuten Japan Open - Tokyo Firenze Open - Florence Tennis Napoli Open - Naples Open Sud de France - Montpellier Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rogers Cup - Toronto Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Wimbledon - London French Open - Paris French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Chennai Challenger San Marino Challenger Istanbul Challenger Columbus Challenger San Marino Challenger Barcelona Open Banc Sabadell - Barcelona cinch Championships - London Qatar ExxonMobil Open - Doha Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Hopman Cup - Perth Davis Cup, Group II, PO, TUN-BUL 3-2 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, Group II, 1R, TUN-FIN 2-3 Davis Cup, World Group, SF, FRA-ESP 3-2 Davis Cup, Finals, Group A ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group II, PO, GUA-TUN 1-3 ATP Cup - Melbourne Davis Cup, Group II, 1R, TUN-GRE 1-3 French Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro Davis Cup, World Group II, 1R, TUN-IRL 3-2 Davis Cup, Group I, PO, TUN-UKR 3-2 Davis Cup, Group II, 1R, GEO-TUN 4-1